Skip to content

Partially ports updates to the in-game HUD interface#915

Open
siliconOpossum wants to merge 27 commits into
MrMelbert:masterfrom
siliconOpossum:HUDupdates
Open

Partially ports updates to the in-game HUD interface#915
siliconOpossum wants to merge 27 commits into
MrMelbert:masterfrom
siliconOpossum:HUDupdates

Conversation

@siliconOpossum
Copy link
Copy Markdown
Contributor

Grabs a few changes like the new layout and new icons for the Midnight-adjacent HUD themes, as well as the observer verb icons, z-level button, etc does not port everything though, it turns out HUD elements are deeply integrated with many of the game's systems and quickly grabbing every change would not be reasonably possible

Please report any issues you have relating to the HUD (i.e, inventory slots, the buttons next to the paperdoll, etc), thank you.

TheSmallBlue and others added 22 commits June 1, 2026 17:20
Second crack at my z-level changing HUD button. I felt that my last
attempt left a lot to be desired, so here I am with it again!

<details>
<summary> Images </summary>

Widescreen:

![image](https://github.com/user-attachments/assets/148744b5-a748-49df-88d2-2f6b93e7c3ef)

![image](https://github.com/user-attachments/assets/d077c0ef-2bb8-4dae-ba45-d82e27828582)

Non-widescreen:

![image](https://github.com/user-attachments/assets/82cc4d52-c457-48d7-8e73-edd12eb6b2bd)

![image](https://github.com/user-attachments/assets/bfa7b643-2db0-4aa8-9ca7-579b530a928e)

Basic/Simple mobs:

![image](https://github.com/user-attachments/assets/e13e84cf-77e2-4ccc-b0b7-ea50bb4da9ce)

</details>

TODOs:

- [x] Apply to cyborgs
- [x] Apply to xenomorphs
- [x] Sprites: Glass UI Style
- [x] Sprites: Detective UI Style
- [x] Sprites: Clockwork UI Style
- [x] Sprites: Operative UI STyle

I still wanted to get the PR up to both get feedback on this method and
to see if I could garner a little bit of help with the spriting bit
(PLEEEEASE)

The current button leaves a lot to be desired, mainly:

- It isn't applied to every possess-able mob
- It has weird positioning and sizing that doesn't match anything else
in the game
- It's confusing and inconsistent to use (it straight up would not work
for observers, and I had to add the option to do alt click to go down)

This PR aims to fix all this, and more!

- One, big, long button that matches other similar ones that already
exist!
- Click the up arrow to go up, click the down arrow to go down. Always.
No fuzz!
- Two types: Horizontal and Vertical! Choose whichever fits your needs!

:cl:
qol: The z-level button got a refresh! It's now applied to more places
and it should be simpler to use.
/:cl:
## About The Pull Request

Closes #87809
## About The Pull Request

This restores the "resist" UI element for xenos.

It's been there the whole time, even having the screen item get made
every time a Xeno player occupies a body. It wouldn't render, however,
since the actual screen element wouldn't be modified to use the xeno UI
theme.


![image](https://github.com/user-attachments/assets/ee6a8ddd-da51-4e58-9485-676f3d7085c2)
## Why It's Good For The Game

Xenos have plenty to be resisting from. Stop-drop-and-rolling, instantly
breaking out of handcuffs or straitjackets, buckle-combat.

The thing is, it's been here to whole time too, and even had a sprite
already set up, so it leads me to believe that this was somehow just
taken out by accident one day and went mostly unnoticed.
## Changelog
:cl: Rhials
fix: Xenos have a "resist" ui element now. Cool!
/:cl:
This PR completely overhauls Midnight and Midnight-derived UIs, as well
as does some adjustments to the UI layout.

![image](https://github.com/user-attachments/assets/369a812a-9b6c-4d3f-8a5e-ba4fbc9f4d64)

* All UI elements for Midnight/Midnight-derived themes have been redrawn
to be cleaner, with consistent palettes and up-to-date sprites
* Tiny equip E is gone - Drop action has been moved in its place,
freeing some space in the bottom right corner
* Four minor menu keys have been bundled with actions, now-vertical
floor change element taking their place
* Action palette (wide thing in the top left corner) is now hidden when
it has zero actions bound to it and the player isn't currently dragging
an action button.

I've also fixed some minor issues with how hand elements are rendered,
and given feedback to resist button (it now lights up when pressed or
when the hotkey is held down)

<details>

<summary>Some screenshots of new UIs</summary>

![image](https://github.com/user-attachments/assets/afc62225-2a21-45c7-8382-d35fe4ec9d6c)

![image](https://github.com/user-attachments/assets/d2ea6f1a-a9f6-4b98-8fc8-663b1e97a38f)

![image](https://github.com/user-attachments/assets/52ffa40d-f982-4ab1-8c81-1225666363ab)

Redrawn UIs now have themed clothing slots

![image](https://github.com/user-attachments/assets/a9421e2f-3979-4aec-b2cb-7066d2b997ce)

![image](https://github.com/user-attachments/assets/0bcb5e8e-a626-44ce-b7f3-2a195c128213)

![qrd5eRR](https://github.com/user-attachments/assets/356b7bf8-5f54-4f92-bea6-4a8ac36aa2e7)

</details>

Our UI icons are very outdated and compressed, with very large palettes
and odd transparency quirks, making adding new elements or redesigning
current ones quite hard and frustrating. A fresh coat of paint can take
user experience a long way.

As for moved elements, most people either equip things manually or use
the equip hotkey - E button is rather obscure and rarely used, while
drop button makes sense to be located near hands. Action palette just
takes up screen space most of the time, so there's no reason to not hide
it when you don't have any use for it.

:cl:
qol: Resist button now has visible feedback.
qol: Readjusted UI layout.
image: Completely redrawn Midnight and Midnight-derived UIs!
/:cl:
Adds a new HUD element that only shows up when you're resting that
flicks when you click it once, and puts you to sleep for 40 seconds if
you double click it (so you don't accidentally sleep yourself for 40
seconds), which is meant to replace the verb in the stat panel.
Doesn't show up if you're sleep immune.
I also fixed alien huds a bit, putting rest on the right side where it
is for every other mob, and brought the floor change buttons down to
compensate.

New Larva HUD (other xenos have Throw between rest and sleep)

![image](https://github.com/user-attachments/assets/890faa34-4929-418b-ba88-d007bd1e6a4e)

Demonstration

https://github.com/user-attachments/assets/11f7574d-dd6d-4da5-ab39-6fcf6d6694b9

Rest can be seen in IDB

As a compromise to putting a tgui confirmation menu in your face or
requiring a double click, I added a new setting in accessibility tab
that allows you to disable "double click" features. So far all it does
is give a tgui menu instead of require double click for sleeping, and
allow you to further examine things with a linked button in base
examine.

Sleep is currently only a verb available in the stat panel, this
provides an alternative so it doesn't become a chatbar-only verb when
the stat panel is removed. It's also just good feedback to the player
that this action exists.
## About The Pull Request

Off shuttle move doesn't need to happen because shuttles use abstract
move which calls it anyway
Similar story for the ghost stuff, this was actually causing pretty
common double calls so we may actually get somethin out of this Oh and
something in air which is past me knifing me in the back
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
Fixes shuttle parallax that was broken as a result of the
[PR](tgstation/tgstation#82644).
The problem was that Move would only update after walking and such. The
update was forcing Parallax to update when a mob is standing still.

**BEFORE FIX**


https://github.com/user-attachments/assets/f015435e-16d4-44d4-97e5-03d242ddda4c

**AFTER FIX**


https://github.com/user-attachments/assets/22d4e256-54b9-4d8c-93ee-2312f2cabe39

## Why It's Good For The Game
Full immersive gameplay comeback.

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and its effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

:cl:
fix: Fixed shuttle parallax when a mob is standing still.
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
## About The Pull Request

Partially improves:
* #46002 

Previously, the ghost's "t-ray view" acted as a toggle, even though the
scan only occurred once. This PR changes it to function as an action
rather than a toggle, removing the need to press the button twice.

While the ideal solution would be for the t-ray scan to work on the
process tick, my attempt to give ghosts their own t-ray scanner and to
toggle it on upon using the verb did not work as expected because the
scanner didn't recognize the ghost as its holder (`mob/viewer` in the
code).

This update serves as an improvement to the current behaviour, but in
the future, the t-ray scan verb should function like a normal t-ray
scanner, instead of just a one-time scan.
## Why It's Good For The Game

Improves the t-ray verb, before it acted as a toggle even though it only
worked once upon toggling on. Improves user experience using this verb.
## Changelog
:cl:
fix: the ghost "t-ray view" no longer requires a double press to
activate a second time.
qol: renamed "t-ray view" to "t-ray scan" for clarity.
/:cl:
This is part of my ongoing project to remove the Stat panel which you
can read/contribute to here: https://hackmd.io/443_dE5lRWeEAp9bjGcKYw

Replaces the pAI button at the bottom of Ghost's HUD with a new button
for Ghost settings

Default look

![image](https://github.com/user-attachments/assets/7b97287d-5f8b-40a4-b574-98ecaafa8533)

With fun verbs (admin only, the 2 buttons at the top right), No body,
and lag switches on (disables T-Ray and Zooming)

![image](https://github.com/user-attachments/assets/3ee9bb9b-389c-452c-8ff5-fbd0ee677fef)

The ghost icon next to "re-enter body" is the DNR button, which requires
double click.
Extra view is now easier to understand, 0 is "default", anything more is
extra vision you get. Goes to 3 for regular users, 7 for BYOND members.

Removes the "Ghost" tab from the stat panel entirely, this replaces it.

The Ghost tab of the stat panel is filled with barely functional stuff,
like "Jump to Mob" which allows you to jump to "oranges ear" which
teleports you to nullspace, or the 4 different jump to verbs for
different things which is irrelevant from the Orbit menu and the many
improvements it got over the years, and even the Notifications panel,
which seems pretty useful, but because it's delegated to a small button
filled with the rest of these it gets entirely drowned out.
This puts all the important things in front of the user at the click of
a button, meant to be easy to navigate and giving important information
first.

:cl:
add: Added a 'Ghost settings' button, taking the spot of the pAI
candidate button and replacing the "Ghost" tab of the Stat panel. This
button contains buttons pertinent to your time as an Observer.
/:cl:
## About The Pull Request

Partially rolls back #91370 by reintroducing ghost verbs, but for the
chatbar only. Doesn't clutter up the statpanel, but powerusers can
quickly type them in without navigating the menu.

## Why It's Good For The Game

The change massively fucked over our powerusers (aka admins, which are
already suffering from poor UX) who were used to typing out the verbs in
the chat. No reason to remove functionality, the menu is neat but if you
remember commands by heart its faster to type them out.

## Changelog
:cl:
add: Ghost verbs are back in the chatbar, you can now type out things
like "Orbit" or "T-ray-scan" once again as a ghost.
/:cl:
tgstation/tgstation#91619 missed a couple that I
use and I want them back!!

Also unhides the report-issue verb as it's kind of a pain to get to now
with the removal of the ever present button above stat panel.

Reee give me back my verbs

:cl:
qol: "Spawners Menu" and "Minigames Menu" are back as chat verbs for
power users
qol: report-issue is now a verb that can be used in chat to open the
issue report prompt for power users
/:cl:
## About The Pull Request
Fixes tgstation/tgstation#85120 
I think it was introduced by
tgstation/tgstation#84984
## Why It's Good For The Game
fix good
## Changelog
:cl:

fix: fixed ghost huds

/:cl:
## About The Pull Request

On the bottom right of the ghost hud, there will be buttons to toggle
the various ghost hud changes

<img width="253" height="130" alt="image"
src="https://github.com/user-attachments/assets/98e66f4f-b211-4d45-9f18-382d4a50de37"
/>

- Darkness level
- Atmos click scan
- Heath click scan
- Chem click scan
- Data huds
- Tray scan
- Ghost vision

## Why It's Good For The Game

Provides an easy place to toggle things without needing to fish though a
side panel or UI, or type something in chat.
Plus shows you at a glance what you all have on. 

## Changelog

:cl: Melbert
add: Adds screen hud elements for ghost toggles
/:cl:
https://tgstation13.org/phpBB/viewtopic.php?f=5&t=35669

https://github.com/tgstation/tgstation/assets/70376633/77e1548a-46be-4da9-a6cd-a7f5b2fdf21b

its convenient and especially more convenient on northstar for
orientation

:cl:
qol: AIs now get a z level indicator
/:cl:

---------

Co-authored-by: san7890 <the@san7890.com>
@github-actions github-actions Bot added Sprites Fixing up coder sprites is nice Modularity Suggested Read the README in "maplestation_modules" and follow the instructions or risk doom UI labels Jun 2, 2026
@github-actions github-actions Bot added the Merge Conflict Resolve it or perish label Jun 2, 2026
@github-actions github-actions Bot removed the Merge Conflict Resolve it or perish label Jun 2, 2026
## About The Pull Request

Tin. Another annoying spurious runtime that is caused by
create_and_destroy spawning weed nodes (which delete the weed at their
loc). It was doing this before the weed finished initializing sometimes.

Fixes NovaSector/NovaSector#2494

Tested with 10 back to back CI runs, runtime did not occur.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Modularity Suggested Read the README in "maplestation_modules" and follow the instructions or risk doom Sprites Fixing up coder sprites is nice UI

Projects

None yet

Development

Successfully merging this pull request may close these issues.